|
|
|
|
|
|
|
An entity class is one that is passive with respect to interactions with clients of the subsystem. An entity class instance, then, doesn't originate these interactions on its own. It receives transactions, typically from a controller class; applies business or domain rules; and then requests that the resulting information be persisted. Because of the importance of entity objects to a company or project, they participate in more than one operation. For business applications, an entity class can be equivalent to a business domain class. |
|
|
|
|
|
|
|
|
A control class controls interactions between objects in the subsystem. Typically, a control class implements behavior that is specific to one subsystem operation (equivalent to a use case). An object of this kind lives only as long as the service request's life cycle. The life cycle of a control object typically doesn't extend beyond that of the fulfillment of a given subsystem operation in which it participates. Control classes, also called controller classes, are very helpful for controlling flows of information between forms and business classes. You use them anywhere you deem necessary, especially when internal application transactions are complex enough to warrant having a class responsible for controlling them. |
|
|
|
|
|
|
|
|
New Term: A subsystem operation is similar to a use case, except that the client of the subsystem is another subsystem, component, or class within the application. ActiveX EXE components are treated like external system actors, meaning that operations on them are actually use cases. |
|
|
|
|
|
|
|
|
A boundary class is one that lies on the periphery of a subsystem, but is contained within that subsystem. The responsibility of a boundary class is to interact with clients or external system actors outside the subsystem and all the kinds of objects within the subsystem. The relationship between a boundary class and its subsystem is similar to the relationship between a user interface and an application. In fact, a user interface realized as a form is a boundary object itself. Other examples of boundary classes include classes that interact with application programmer interfaces (APIs); external database object mechanisms such as RDO and ADO; and classes that communicate with peripheral devices such as printers, modems, storage devices, scanners, and so on. They are called boundary, then, because logically they act as the gatekeepers between the application and the outside environment. |
|
|
|
|
|
|
|
|
New Term: An entity class is passive with respect to interactions with clients of the subsystem. A control class controls the interactions between objects in the subsystem. A boundary class lies on the periphery of a subsystem, but is contained within that subsystem. |
|
|
|
|
|